package ar.frba.utn.diseñosistemas.TP2;

import java.util.ArrayList;

import ar.frba.utn.diseñosistemas.UI.ReservaUserException;


public abstract class TipoUsuario {

	protected Usuario usuario;

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	
	public abstract ArrayList<Itinerario> buscar(Busqueda unaBusqueda);
	
	public void comprar(Itinerario unItinerario)
	{
		for (Asiento unAsiento : unItinerario.getAsientos()){
			unAsiento.comprar(this.usuario);
		}
	}
	
	public void reservar(ArrayList<Asiento> unosAsientos)
	{
		Reserva reserva = new Reserva(unosAsientos, this.usuario);
		
		for (Asiento asiento : unosAsientos) 
		{
			if(!asiento.estaReservado())
				asiento.reservarEnAerolinea(this.usuario);
			
			asiento.agregarReserva(reserva); //lo agrega como sobre-reserva
		}
	}
}
